using System;
using System.Collections.Generic;
using System.Text;

namespace Diffluxum.CCScoring
{
    public interface IBrokenBuildsSpan
    {
        void AddBreakingBuild(BuildResult build);
        void BuildFixed(BuildResult build);
        void LastsUntil(DateTime date);

        IEnumerable<string> InvolvedUsers
        {
            get;
        }

        IEnumerable<BuildResult> IncludedBuilds
        {
            get;
        }

        bool IsBreaker(string userName);

        bool IsFixer(string userName);

        bool IsSubmitterToBrokenSpan(string userName);

        TimeSpan TotalBreakTime
        {
            get;
        }

        TimeSpan ResponsibilityTime(string userName);

    }
}
